LSI design recently adopts a network-on-chip technology in which modules such as cores (processor cores), memories, and routers (repeaters) are connected by routers and transmission lines (channels).
Each router on such a network-on-chip includes an input port, an output port, an input buffer, and an output buffer for each module connected with the router. The router also includes an arbitration device configured to transfer a packet from an input buffer to an output buffer. When a packet is input to a router from a module connected with the router via an input port, the router temporarily stores the input packet in an input buffer. When a packet exists in the input buffer, the arbitration device performs packet arbitration, and transfers the packet in the input buffer to an output buffer corresponding to an output port determined based on the destination of the packet. When a packet exists in the corresponding output buffer, the output port transmits the packet in the output buffer to a transmission line connected with the output port.
In such a router on network-on-chip, it is known that when the input buffer is occupied by packets addressed to the same destination, transmission performance of the router deteriorates.
In order to solve the aforementioned problem, a router including a destination comparing section and an output section has been proposed as first related art of the present invention (see WO 2012/029215 A (Patent Literature 1), for example). The destination comparing section determines the order of allocation of virtual channels of the destination router in data units stored in respective virtual channels, according to whether or not the destinations are the same. The output section outputs stored data units from virtual channels to which allocation of the virtual channels of the destination router is determined. According to the first related art, the source router is able to transmit packets to the destination router such that packets having different destinations are uniformly stored in a plurality of virtual channels of the destination router. As such, in the destination router, it is possible to prevent a state where all virtual channels are occupied by the packets of the same destination. Here, the actual body of a virtual channel is a buffer of the router. This means that having a plurality of virtual channels for each input port means that a plurality of buffers are provided to each input port, and that processing is performed to transmit a plurality of packets having different destinations in parallel for each input port.
Patent Literature 1: WO 2012/029215 A
However, in the case of a network-on-chip, a router causes overhead. Therefore, it is necessary to make the router area small. Accordingly, it is likely that the number of buffers for each input port of the router is reduced. There is a case where each input port has only one buffer. The first related art of the present invention includes a destination comparing section that determines the order of allocation of virtual channels of the destination router of data units stored in a plurality of virtual channels. Accordingly, it is not applicable to a router in which there is only a single virtual channel, that is, a router in which the number of buffers for each input port is one. Accordingly, it is difficult to improve the transmission performance of a router regardless of the number of buffers of each input port.